#pragma once
#include "Renderer.h"
#include "Shadow.h"
namespace mini
{
	class CShadowRenderer : public CRenderer
	{
		friend class CRendererFactory;
		friend class CRendererEngine;
	public:
		virtual ~CShadowRenderer();
		void setShadowType( shadowType type);
		void setEffect(CShadow* pShadow);

	private:
		CShadowRenderer(CDevice* pDevice);
		virtual void commitToGpu();
		virtual void addUnit(CUnit* pUnit, CMaterialUnit* pMaterialUnit, EntityType Type, INT32 zLayer);

	private:
		CShadow* mpShadow = nullptr;
	};
}
